// ABC414 C.cpp
#include <bits/stdc++.h>

using namespace std;
using ll = long long;

ll N;

// 检查s在A进制下是否是回文数

bool check(const string &s, int A) {
  ll x = stoll(s);
  if (x > N)
    return false;
  // cout << x;

  string ss; // 用于存储x在a进制下的各位数字
  while (x) {
    // 获取x在a进制下的最低位数字，并转换为字符
    ss += '0' + x % A;
    // 移除已处理的最低位
    x /= A;
  }

  // 创建字符串的逆序副本
  string sss = ss;
  reverse(sss.begin(), sss.end());
  // 比较原字符串和逆序字符串是否相同
  return sss == ss;
}

int main() {

  int A;
  cin >> A >> N;

  // 这里的优化留意，无需枚举到 10^12

  int w = log10(N) + 1;
  int M = pow( 10, w/2+1);//求一半位数的最大值

  ll ans = 0;
  for (ll x = 1; x < M; ++x) {
    string s = to_string(x);
    string rs = s;
    reverse(rs.begin(), rs.end());
    s += rs; // s一定是 10进制的 回文串

    if (check(s, A))
      ans += stoll(s); //  检查 “123 321”是否是A进制下的回文串

    s.erase(s.begin() + (s.size() / 2)); // 删除中间一字符

    if (check(s, A))
      ans += stoll(s); // 检查 “12321”
  }
  cout << ans;
  return 0;
}